home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Headers / drivers / event_status_driver.h
Text File  |  1994-04-13  |  5KB  |  135 lines

  1. /******************************************************************************
  2.     event_status_driver.h
  3.     API for the events status driver.
  4.     This file contains public API.
  5.     mpaque 11Oct91
  6.     
  7.     Copyright 1991 NeXT Computer, Inc.
  8.     
  9.     Modified:
  10.     
  11. ******************************************************************************/
  12.  
  13. #ifndef _DRIVERS_EVENT_STATUS_DRIVER_
  14. #define _DRIVERS_EVENT_STATUS_DRIVER_
  15.  
  16. #import <mach/port.h>
  17. #import <bsd/dev/machine/event.h>
  18. #import <objc/objc.h>        /* BOOL type */
  19. #import <bsd/dev/ev_types.h>
  20.  
  21.  
  22. /*
  23.  * Event System Handle:
  24.  *
  25.  * Information used by the system between calls to NXOpenEventSystem and
  26.  * NXCloseEventSystem.  The application should not
  27.  * access any of the elements of this structure.
  28.  */
  29. typedef struct _NXEventHandle_{
  30.     union {
  31.         int        fd;
  32.         port_t    port;
  33.     } var;
  34. } *NXEventHandle;
  35.  
  36. #ifndef _NXSIZE_    /* FIXME: Pull this when i386/event.h is in sync */
  37. /*
  38.  * Floating point co-ordinates for an event, in a format
  39.  * compatible with NXSize, as defined in dpsclient/event.h.
  40.  *
  41.  * We can't reference dpsclient/event.h directly here for ugly
  42.  * internal project management reasons.
  43.  */
  44. typedef float _NXCoord_;
  45.  
  46. typedef struct __NXSize_ {
  47.     _NXCoord_    width, height;
  48. } _NXSize_;
  49. #endif _NXSIZE_
  50.  
  51. /* Open and Close */
  52. NXEventHandle NXOpenEventStatus(void);
  53. void NXCloseEventStatus(NXEventHandle handle);
  54.  
  55. /* Status */
  56. extern NXEventSystemInfoType NXEventSystemInfo(NXEventHandle handle,
  57.                 char *flavor,
  58.                 int *evs_info,
  59.                 unsigned int *evs_info_cnt);
  60. /* Keyboard */
  61. extern void NXSetKeyRepeatInterval(NXEventHandle handle, double seconds);
  62. extern double NXKeyRepeatInterval(NXEventHandle handle);
  63. extern void NXSetKeyRepeatThreshold(NXEventHandle handle, double threshold);
  64. extern double NXKeyRepeatThreshold(NXEventHandle handle);
  65. extern NXKeyMapping *NXSetKeyMapping(NXEventHandle h, NXKeyMapping *keymap);
  66. extern int NXKeyMappingLength(NXEventHandle handle);
  67. extern NXKeyMapping *NXGetKeyMapping(NXEventHandle h, NXKeyMapping *keymap);
  68. extern void NXResetKeyboard(NXEventHandle handle);
  69.  
  70. /* Mouse */
  71. extern void NXSetClickTime(NXEventHandle handle, double seconds);
  72. extern double NXClickTime(NXEventHandle handle);
  73. extern void NXSetClickSpace(NXEventHandle handle, _NXSize_ *area);
  74. extern void NXGetClickSpace(NXEventHandle handle, _NXSize_ *area);
  75. extern void NXSetMouseScaling(NXEventHandle handle, NXMouseScaling *scaling);
  76. extern void NXGetMouseScaling(NXEventHandle handle, NXMouseScaling *scaling);
  77. extern void NXEnableMouseButton(NXEventHandle handle, NXMouseButton button);
  78. extern NXMouseButton NXMouseButtonEnabled(NXEventHandle handle);
  79. extern void NXResetMouse(NXEventHandle handle);
  80.  
  81. /* Screen Brightness and Auto-dimming */
  82. extern void NXSetAutoDimThreshold(NXEventHandle handle, double seconds);
  83. extern double NXAutoDimThreshold(NXEventHandle handle);
  84. extern double NXAutoDimTime(NXEventHandle handle);
  85. extern double NXIdleTime(NXEventHandle handle);
  86. extern void NXSetAutoDimState(NXEventHandle handle, BOOL dimmed);
  87. extern BOOL NXAutoDimState(NXEventHandle handle);
  88. extern void NXSetScreenBrightness(NXEventHandle handle, double level);
  89. extern double NXScreenBrightness(NXEventHandle handle);
  90. extern void NXSetAutoDimBrightness(NXEventHandle handle, double level);
  91. extern double NXAutoDimBrightness(NXEventHandle handle);
  92.  
  93. /* Speaker Volume */
  94. extern void NXSetCurrentVolume(NXEventHandle handle, double volume);
  95. extern double NXCurrentVolume(NXEventHandle handle);
  96.  
  97. /* Wait Cursor */
  98. extern void NXSetWaitCursorThreshold(NXEventHandle handle, double seconds);
  99. extern double NXWaitCursorThreshold(NXEventHandle handle);
  100. extern void NXSetWaitCursorSustain(NXEventHandle handle, double seconds);
  101. extern double NXWaitCursorSustain(NXEventHandle handle);
  102. extern void NXSetWaitCursorFrameInterval(NXEventHandle handle, double seconds);
  103. extern double NXWaitCursorFrameInterval(NXEventHandle handle);
  104.  
  105. /*
  106.  * Generic calls.  Argument values are device and architecture dependent.
  107.  * This API is provided for the convenience of special device users.  Code
  108.  * which is intended to be portable across multiple platforms and architectures
  109.  * should not use the following functions.
  110.  */
  111. extern int NXEvSetParameterInt(NXEventHandle handle,
  112.             char *parameterName,
  113.             unsigned int *parameterArray,
  114.             unsigned int count);
  115.  
  116. extern int NXEvSetParameterChar(NXEventHandle handle,
  117.             char *parameterName,
  118.             unsigned char *parameterArray,
  119.             unsigned int count);
  120.  
  121. extern int NXEvGetParameterInt(NXEventHandle handle,
  122.             char *parameterName,
  123.             unsigned int maxCount,
  124.             unsigned int *parameterArray,
  125.             unsigned int *returnedCount);
  126.  
  127. extern int NXEvGetParameterChar(NXEventHandle handle,
  128.             char *parameterName,
  129.             unsigned int maxCount,
  130.             unsigned char *parameterArray,
  131.             unsigned int *returnedCount);
  132.  
  133. #endif /*_DRIVERS_EVENT_STATUS_DRIVER_ */
  134.  
  135.